Online customers utilize a variety of devices for online shopping and other activities, generally utilizing a web browser running on the customer's device to interact over a network with a remote server. A web browser is a software component that takes marked up content (such as HTML, XML, image files, etc.) and formatting information (such as CSS, XSL, etc.) and displays the formatted content on the screen of a device. The web browser utilizes an embedded layout engine or “web browser engine,” also known as a DOM renderer or a rendering engine. Typically, a client-side web browser renders web site “pages” encoded in a markup language such as HTML and downloaded from the server during a user session. An HTML page may include executable code, for example, a script, which can be executed in the web browser to perform a variety of functions. Scripts are often embedded in HTML pages when they are downloaded from a server; and scripts can be injected into an existing page on the client side browser after the page is downloaded. Scripts are typically written in JavaScript, or in one of the derived subsets and implementations of JavaScript. The script is executed in the browser by a JavaScript engine—a virtual machine that interprets and executes JavaScript.
Scripts executed on web pages can provide various functions that are helpful to a user. Some injected scripts (those added after a page is downloaded), when executed in an online customer's (client-side) web browser, may impose undue loading on a server system such as an online shopping web site. Heavy utilization of resources on the server system may slow down its response times in connection with serving other customers' needs. On the other hand, the vendor (server side host) should be sensitive to accommodating its customers' needs. Thus there is a need to control or mitigate the potential impact of client-side scripts on a server system.